// pages/category/index.js
import { request } from '../../request/index.js';
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 左侧菜单数据
    leftMenuList:[],
    // 右侧商品数据
    rightContent:[],
    // 被点击的左侧菜单
    currentIndex:0,
    // 右侧内容的滚动条距离顶部的距离
    scrollTop:0
  },
  // 接口的返回数据
  Cates:[],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // this.getCates();
    // 获取本地存储中的数据
    const Cates= wx.getStorageSync("cates");
      // 判断
      if(!Cates){
        // 不存在，发送请求数据
        this.getCates()
      }else{
        // 有旧数据 定义过期世间
        if(Date.now()-Cates.time>1000*10){
          this.getCates();
        }else{
          // 可以使用旧数据
          // console.log('ok');
          this.Cates=Cates.data();
          let leftMenuList = this.Cates.map(v=>v.cat_name);
          let rightContent = this.Cates[0].children;
          this.setData({
            leftMenuList,
            rightContent
          })
        }
      }
  },
  // 获取分类数据
  async getCates(){
   /*  request ({
      url:'/categories'
    })
    .then(res=>{
      // console.log(res);
      this.Cates=res.data.message;
      // 吧接口的数据存入到本地存储中
      wx.setStorageSync("cates", {time:Date.now(),data:this.Cates});
        
      // 构造左侧大菜单数据
      let leftMenuList = this.Cates.map(v=>v.cat_name);
      let rightContent = this.Cates[0].children;
      this.setData({
        leftMenuList,
        rightContent
      })
    }) */
    // 1、使用es7的async await发送异步请求
    const res = await request({url:'/categories'});
    this.Cates=res;
    // 吧接口的数据存入到本地存储中
    wx.setStorageSync("cates", {time:Date.now(),data:this.Cates});
      
    // 构造左侧大菜单数据
    let leftMenuList = this.Cates.map(v=>v.cat_name);
    let rightContent = this.Cates[0].children;
    this.setData({
      leftMenuList,
      rightContent
    })
  },
  // 左侧菜单的点击事件
  handleItemTap(e){
    // 获取被点击标题的索引
    // console.log(e.currentTarget.dataset.index);
    const {index}=e.currentTarget.dataset;
    let rightContent = this.Cates[index].children;
    this.setData({
      currentIndex:index,
      rightContent,
      // 重新设置右侧内容的scroll-view标签距离顶部的距离
      scrollTop:0
    })
    
  }
})